home *** CD-ROM | disk | FTP | other *** search
Wrap
import com.siemens.mp.io.File; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Font; import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.TextBox; class MyCanvas extends Canvas implements CommandListener { private bmpView midlet; private Display display; // $FF: renamed from: g2 javax.microedition.lcdui.Graphics private Graphics field_0; static int gLT = 20; static int gLB = 68; static int MAX_LENGTH = 5000; // $FF: renamed from: wY int private int field_1 = ((Canvas)this).getHeight(); // $FF: renamed from: wX int private int field_2 = ((Canvas)this).getWidth(); private Command cmExit = new Command("Exit", 1, 5); private Command cmInfo = new Command("Info", 1, 3); private Command cmLoad = new Command("Load", 1, 1); static String header = "RizaPN bmpViewer"; private Alert alert; private TextBox fname; private Command cmOK; private Command cmCancel; private String stText; private Image image0; // $FF: renamed from: fn com.siemens.mp.io.File private File field_3; private Font font; public MyCanvas(bmpView var1, Display var2) { this.alert = new Alert(header); this.fname = new TextBox(header, "", 32, 0); this.cmOK = new Command("OK", 7, 6); this.cmCancel = new Command("Cancel", 7, 7); this.stText = header; this.field_3 = new File(); this.font = Font.getFont(64, 1, 8); this.midlet = var1; this.display = var2; ((Displayable)this).addCommand(this.cmLoad); ((Displayable)this).addCommand(this.cmInfo); ((Displayable)this).addCommand(this.cmExit); ((Displayable)this).setCommandListener(this); this.fname.addCommand(this.cmOK); this.fname.addCommand(this.cmCancel); this.image0 = Image.createImage(this.field_2, this.field_1); } public void paint(Graphics var1) { this.field_0 = var1; var1.setColor(0, 0, 0); var1.setFont(this.font); var1.drawImage(this.image0, 0, 0, gLT); var1.drawString(this.stText, 2, this.field_1 - 9, gLT); } public void keyPressed(int var1) { } public void commandAction(Command var1, Displayable var2) { int var5 = 0; if (var1 == this.cmExit) { this.midlet.exitMIDlet(); } else if (var1 == this.cmLoad) { this.showText(); } else if (var1 != this.cmCancel && var1 != this.cmOK) { this.showInfo(); } else { if (var1 == this.cmOK) { this.stText = this.fname.getString() + ".bmp"; if (File.exists(this.stText) >= 0) { try { int var4 = this.field_3.open(this.stText); var5 = this.field_3.length(var4); if (var5 > MAX_LENGTH) { var5 = MAX_LENGTH; } byte[] var15 = new byte[var5]; this.field_3.read(var4, var15, 0, var5); this.field_3.close(var4); int var6 = var15[18]; if (var6 < 0) { var6 += 256; } int var7 = var15[22]; if (var7 < 0) { var7 += 256; } int var10 = var15[17]; if (var10 < 0) { var10 += 256; } var6 += 256 * var10; var10 = var15[21]; if (var10 < 0) { var10 += 256; } var7 += 256 * var10; byte var14 = var15[58]; var6 = (31 + var6) / 32 * 32; int var11 = var6 / 8; byte[] var16 = new byte[var11 * var7]; int var12 = 0; int var13 = 0; int var9 = 62 + var11 * (var7 - 1); while(var9 >= 62) { if (var14 == 0) { var16[var13] = var15[var9]; } else { var16[var13] = (byte)(var15[var9] ^ 255); } ++var9; ++var12; ++var13; if (var12 == var11) { var12 = 0; var9 -= 2 * var11; } } this.image0 = com.siemens.mp.ui.Image.createImageFromBitmap(var16, var6, var7); this.stText = "(" + var6 + "x" + var7 + ")"; } catch (Exception var18) { } } else { this.stText = "Not Found!"; } } this.display.setCurrent(this); } } public void showText() { this.fname.setCommandListener(this); this.display.setCurrent(this.fname); } public void showInfo() { this.alert.setString("bmpViewer for MIDP by RizaPN\n\nIt can display monochrome bitmap saved in its storage directory.\n\nSalam,\nRiza Purwo Nugroho\nJakarta - Indonesia"); this.display.setCurrent(this.alert); } }